x86: relax restrictions on reserved bits in L3 for 32on64 x86 guests
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 27 Oct 2008 10:08:48 +0000 (10:08 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 27 Oct 2008 10:08:48 +0000 (10:08 +0000)
A 32on64 guest cannot copy an existing pinned L3 entry to use as a new
L3 because COMPAT_L3_DISALLOW_MASK contains bits which are added to L3
entries by adjust_guest_l3e (U/S & R/W) or by the hardware (A & D).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
xen/include/asm-x86/x86_64/page.h

index f20f053dd51f4630b981be67702c7711efc486ac..494a877cafb093f5ea7e4d233d456c6e10600beb 100644 (file)
@@ -119,7 +119,7 @@ typedef l4_pgentry_t root_pgentry_t;
 #define L3_DISALLOW_MASK (BASE_DISALLOW_MASK)
 #define L4_DISALLOW_MASK (BASE_DISALLOW_MASK)
 
-#define COMPAT_L3_DISALLOW_MASK 0xFFFFF1FEU
+#define COMPAT_L3_DISALLOW_MASK 0xFFFFF198U
 
 #define PAGE_HYPERVISOR         (__PAGE_HYPERVISOR         | _PAGE_GLOBAL)
 #define PAGE_HYPERVISOR_NOCACHE (__PAGE_HYPERVISOR_NOCACHE | _PAGE_GLOBAL)